約 5,037,789 件
https://w.atwiki.jp/atachi/pages/39.html
データグリッドの機能 [#mf0696a7] データグリッドの設定 [#md3a96c1] カラム [#h1c86b3c] カラムの設定 [#h666d223] カラムの種類 [#kce03342] ボタンをカラムに表示する [#ufea0d87] コンボボックスをカラムに表示する 参考サイト データグリッドの機能 カラム自動生成機能 DataGrid.ItemsSourceに設定されたデータの型情報を元に、データグリッドのカラムを自動生成する機能を持ちます。 カラムの定義を記述する必要がなく、データを与えるだけですべての情報が表示されることができます。 逆に表示するデータの項目を制限したい場合やカラムの順番の変更、表示形式の変更などを行いたい場合はこの機能を無効にし、カラムの定義を記述していく必要があります。 カラム自動生成機能の制御はDataGrid.AutoGenerateColumns プロパティのフラグで設定できます。 データグリッドの設定 名前 プロパティ名 設定例 備考 読み込み専用モード DataGrid.IsReadOnly True グリッド全体を読み取り専用モードにする。編集モードにならない ソートの有効 DataGrid.AllowSorting True レコードのソートを許可する ユーザーによるレコードの追加 DataGrid.CanUserAddRows True 実行時にユーザーによってレコードの追加を許可する ユーザーによるレコードの削除 DataGrid.CanUserDeleteRows True 実行時にユーザーによってレコードの削除を許可する ユーザーによるカラム位置の変更 DataGrid.CanUserReorderColumns True 実行時にユーザーによってカラムの場所の移動を許可する ユーザーによるカラム幅の変更 DataGrid.CanUserResizeColumns True 実行時にユーザーによってカラムの幅の変更を許可する カラムの自動生成機能 DataGrid.AutoGeneratingColumn True データソースから自動的にカラムの生成を行う カラム カラムの設定 名前 プロパティ名 設定例 備考 ヘッダー名 DataGridColumn.Header 文字列 ヘッダー名に設定したい文字列 ヘッダーの幅 DataGridColumn.Width 数字 ヘッダーの幅 * すべてのカラムの幅の合計がグリッドの幅より小さい場合に、グリッド幅まで広げる SizeToCells 列の中でセルの幅が最大のものに合わせる SizeToHeader セルの幅をヘッダー名の幅に合わせる 読み取り専用列 DataGridColumn.IsReadOnly True カラムを読み取り専用にするグリッド全体を読み取り専用にするにはデータグリッドの設定を参照。 カラムの種類 定義済みのカラムを使用する。または、独自のカラムを定義することも可能。 カラム名 説明 DataGridTextColumn TextBlockまたはTextBoxによるカラムの描画を行う。文字列の表示や編集を必要とする場合に使用するカラム DataGridCheckBoxColumn データがBoolean型でCheckBoxによるカラムの描画を行う。 DataGridComboBoxColumn ComboBoxによるカラムの描画を行う。 DataGridHyperlinkColumn データをURIとして扱う。Hyperlinkによるカラムの描画を行う。 DataGridTemplateColumn データテンプレートを使用して独自のコントロールを使用してカラムの描画を行う。 ボタンをカラムに表示する DataGridTemplateColumnを使ってカラムを定義することで、カラムに任意のレイアウトで表示することができる。 下記の例はカラムにボタンを表示するサンプルです。 DataGrid DataGrid.Columns DataGridTemplateColumn DataGridTemplateColumn.CellTemplate DataTemplate Button Content="テスト" / /DataTemplate /DataGridTemplateColumn.CellTemplate /DataGridTemplateColumn /DataGrid.Columns /DataGrid コンボボックスをカラムに表示する DataGridのカラム設定でDataGridComboBoxColumnを使用します。 表示されるコンボボックスの選択項目をDataGridのアイテム以外から設定する場合には、少し工夫が必要となります。 なぜかDataGridComboBoxColumn.ItemsSourceに直接バインドすることができないので、EditingElementStyleプロパティとElementStyleプロパティを使って直接コンボボックスのItemsSourceに表示させたい項目のコレクションをバインドします。 Window Grid DataGrid AutoGenerateColumns="False" Height="232" HorizontalAlignment="Left" Margin="12,12,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="479" ItemsSource="{Binding Studios}" DataGrid.Columns DataGridTextColumn Header="映画名" Binding="{Binding Label}" Width="150"/ DataGridComboBoxColumn Header="DataGridComboBoxのテスト" SelectedItemBinding="{Binding CategoryType}" DataGridComboBoxColumn.ElementStyle Style TargetType="{x Type ComboBox}" Setter Property="DisplayMemberPath" Value="ViewName" / Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x Type Window} },Path=DataContext.Types}" / /Style /DataGridComboBoxColumn.ElementStyle DataGridComboBoxColumn.EditingElementStyle Style TargetType="{x Type ComboBox}" Setter Property="DisplayMemberPath" Value="ViewName" / Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x Type Window} },Path=DataContext.Types}" / /Style /DataGridComboBoxColumn.EditingElementStyle /DataGridComboBoxColumn !-- ↓の方法ではコンボボックスの一覧にItemsSourceを使うことができない -- DataGridComboBoxColumn Header="DataGridComboBoxのテスト" SelectedItemBinding="{Binding CategoryType}" ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x Type Window} },Path=DataContext.Types}" DisplayMemberPath="ViewName"/ /DataGrid.Columns /DataGrid /Grid /Window MyDataはXAMLの分離コードでWindowのDataContextに設定します。 public class MyData { public MyData() { _Types.Add(new CategoryType { ViewName = "Type A" }); _Types.Add(new CategoryType { ViewName = "Type B" }); _Types.Add(new CategoryType { ViewName = "Type C" }); _Studios.Add(new Studio { Label = "A", CategoryType = _Types.ElementAt(0) }); _Studios.Add(new Studio { Label = "B", CategoryType = _Types.ElementAt(2) }); } public ICollection Studio Studios { get { return _Studios; } } public ICollection CategoryType Types { get { return _Types; } } private ICollection Studio _Studios = new ObservableCollection Studio (); private ICollection CategoryType _Types = new List CategoryType (); } public class Studio { public string Label { get; set; } public CategoryType CategoryType { get; set; } } public class CategoryType { public string ViewName { get; set; } } 参考サイト MSDN DataGrid DataGridの使い方 DataGridで行ごとに色を変えるには? セル内のボタンを表示・非表示する方法 動的にカラムの表示非表示を切り替えるDataGridの作成
https://w.atwiki.jp/senjounokizuna/pages/1374.html
射撃切り替え短縮 主に遠距離砲撃型機体で使うテクニック。 遠距離砲撃型機体は射撃武装から他の追加弾や非固定武装へ切り替えると 5秒程度とかなり長い切り替え時間が発生してしまう。 しかしパンチから射撃、射撃からパンチへ切り替える場合は一瞬で可能。 これを利用して、射撃武装を切り替える時、射撃武装→パンチ→射撃武装と 経由する事により結果的に遙かに早く武装を切り替える事が出来る。 パンチを装備していなければならないので切り替えがメイン-サブに 限られるのが難点だが、44などで射撃武装を使う時はかなり役に立つ。
https://w.atwiki.jp/dslua/pages/130.html
構文 system.setScreen(画面モード) 説明 縦画面と横画面を切り替えます。 引数 画面モード 0 横画面(LANDSCAPE)、1 縦画面(PORTRAIT)注意事項1.切り替えた画面の向きは、system.setScreen()命令が実行されるまで維持されます。よって、system.setrun()命令を使って、別プログラムを呼び出したとしても、画面の向きは横向きに戻りません。できれば、アプリ内で画面の向きを初期化してください。2.画面の向きを変えても、グラフィック画面サイズは変更されません。当然、ワーク画面サイズも変更されません(これはこういう仕様にしました)。canvas.setMainBmp()命令を使ってグラフィック画面サイズを変更しておかないと、縦画面に扁平したグラフィックが表示されます。必要であれば、canvas.setWorkBmp()命令でワーク画面もサイズ変更してください。3.上記グラフィック画面サイズやワークサイズは、system.setrun()命令で別アプリを起動した場合は、自動的に変更されます。4.画面の縦横の切り替え時、内部でクリアしますので、再度描画する必要があります。(4.はコメントから勝手に追加したものです) 戻り値 なし Luaridaは起動時は横向きで起動します。 ------------------------------------------ --縦画面と横画面を切り替えのサンプル setScreen_sample.lua ------------------------------------------ function main() canvas.drawCls( color(255,255,255) ) canvas.drawText("縦画面と横画面を切り替えのサンプル", 0, 0, 24, color(0,0,0)) canvas.drawText("Luaridaは起動時は横向きで起動、画面タッチで縦画面にします", 0, 50, 24, color(0,0,0)) touch(3) system.setScreen(1) --内部グラフィック画面設定の変更 w,h = canvas.getviewSize() canvas.setMainBmp( w, h ) canvas.drawText("画面タッチで横画面にします", 0, 80, 24, color(0,0,0)) touch(3) system.setScreen(0) --内部グラフィック画面設定の変更 w,h = canvas.getviewSize() canvas.setMainBmp( w, h ) canvas.drawText("画面タッチで終了します", 0, 130, 24, color(0,0,0)) touch(3) end main() 以前のバージョンでは、system.setScreen(画面モード)だけで、扁平したグラフィックではありますが画面表示されていました。 今後のバージョンでは、画面の縦横の切り替え時、内部でクリアしますので、再度描画する必要があります 1.luaridaは、必ず横画面で起動します。タッチで縦画面にします。 2.縦画面が表示されました。テキストの画面折り返しを行っていないのではみ出ています。タッチで横画面に戻します。 3.横画面になりました。タッチで終了します。 コメント(最大10行) 「Luaridaの起動時は横向きで起動する」ということを最近知り σ(^_^;)アセアセ... サンプルでは起動時は縦横(?)としていましたが修正しました。 -- (DSLua@wiki) 2011-09-25 10 24 20 あっ、どこかの時点で仕様を変更しました。 理由は縦横の切替をした後、画面クリアしないと、その後の描画がうまくいかないという不具合がでまして、内部でクリアするように仕様を変えました。 すいません。 -- (たろサ) 2011-10-22 09 27 49 了解しました。 -- (DSLua@wiki) 2011-10-22 09 45 04 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/nina_a/pages/54.html
バインディング このページを編集 例(エレメントのプロパティ同士) Slider Height="33" HorizontalAlignment="Center" Width="400" Minimum="10" Maximum="100" Interval="1" Name="fslider"/ TextBlock HorizontalAlignment="Center" Margin="0,20,0,0" FontSize="{Binding ElementName=fslider, Path=Value}" こんにちは /TextBlock プログラムの場合は以下.面倒なので必要がなければXAMLでやる. // XAML Slider Height="33" HorizontalAlignment="Center" Width="400" Minimum="10" Maximum="100" Name="fslider"/ TextBlock HorizontalAlignment="Center" Margin="0,20,0,0" Name="ftext" こんにちは /TextBlock // C#Binding b = new Binding();b.Source = fslider;b.Path = new PropertyPath("Value");b.Mode = BindingMode.TwoWay;ftext.SetBinding(TextBlock.FontSizeProperty, b); 例(エレメントとオブジェクトのバインディング) Valueというプロパティを持つNumber型をバインディングしてみる. これがNumberクラス using System;using System.Collections.Generic;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Shapes;using System.ComponentModel; namespace Test{ public class Number INotifyPropertyChanged { public Number() { Value = 0; } public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(String info) { if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(info)); } // Valueプロパティ private Int32 _Value; public Int32 Value { get { return _Value; } set { _Value = value; NotifyPropertyChanged("Value"); } } }} Int32をStringに変換するIValueConverter using System;using System.Collections.Generic;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Shapes;using System.Globalization; namespace Test{ [ValueConversion(typeof(Int32), typeof(String))] public class NumberConverter IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return ((Int32) value).ToString(); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } }} そしてXAML. Window xmlns="http //schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns x="http //schemas.microsoft.com/winfx/2006/xaml" xmlns sys="clr-namespace System;assembly=mscorlib" xmlns local="clr-namespace Test" x Class="Test.MainWindow" x Name="Window" Title="MainWindow" Width="640" Height="480" Window.Resources local Number x Key="number"/ local NumberConverter x Key="nc"/ /Window.Resources StackPanel TextBlock HorizontalAlignment="Center" Margin="0,20,0,0" Text="{Binding Source={StaticResource number}, Path=Value, Converter={StaticResource nc}}"/ StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Button Content="Add 10" Margin="10" Name="add"/ Button Content="Subtract 10" Margin="10" Name="sub"/ /StackPanel /StackPanel /Window XAML.csはこんな感じ. public partial class MainWindow Window{ public MainWindow() { this.InitializeComponent(); Number num = (Number) this.FindResource("number"); this.add.Click += (e,s) = num.Value += 10; this.sub.Click += (e,s) = num.Value -= 10; }} カテゴリ:WPF 名前
https://w.atwiki.jp/sapmania_bi70_delta/pages/23.html
インフォセットをデータソースとして利用することが可能となった。 名前 コメント
https://w.atwiki.jp/atachi/pages/68.html
CodePlexでオープンソースコミュニティとなっているMicrosoft公式のWPFに関するライブラリがWPFToolkitです。 このコミュニティで開発されたものが、ゆくゆくは正式なWPFに導入されていきます。 といっても、中には製品レベルまで到達しなかったものや、製品レベルの品質を得るまでの間はWPFに正式導入されません。WPFToolkitはそんなWPFのライブラリです。 VisualStudio2010の発売でToolkitで開発された多くのコントロールが既に製品化されています。 WPFToolkitプロジェクトで開発中のもの Chart
https://w.atwiki.jp/carenasgard/pages/18.html
Windowsアプリケーションよりも適用可能幅が増えた様式。 使いこなせればきっと凄く役に立つ。 XAMLとGUIの両方を記述する必要ありな感じ。 暫くはこっちメインで書く予定。 WPF説明 (その1)入門記事 チュートリアル 色々な実装 Message Box 画像関連 文字関連 thumbthumb2 物体移動 コンテキストメニューを動的に設定物体移動を動的設定 動的生成 動的生成 動的生成 Command CommonDialog 進む、もどる? Binding資料 入力に対するEvent入力の概要 if (Mouse.LeftButton == MouseButtonState.Pressed) { // }
https://w.atwiki.jp/btbuilder/pages/19.html
Edit/Switch Active Track ここではコースの諸設定をする事が可能です。 コース表 コースを編集する場合にはTrackをActiveにしなければなりません。 Activeにする場合にはActiveにしたいコースをダブルクリックして切り替えます 2D/3D画面上Tでキーを押してもコースを切り替えることが出来ます 他にもコースが見えているか、見えていないかを一覧としてみる事が出来ます。 Visible 上のコース表で選択されているコースが2D/3D画面上で表示するか、しないかを決めることが出来ます。 上の表で今見えているか、見えていないかが分かります。 Name コースの名前が指定できます。分かりやすいように名前を付けておくとベター。 Allows the track to be raise for placing skidmarks upon copyボタン 選択されているコースをコピーすることが出来ます。 -ボタン 選択されているコースを消去することが出来ます Spline Type コースの編集方法が変えられます。 ベジエ曲線かCardinalから選べます。 Panel Spacing チェックボックス欄 Driveable 車が走れるか、走れないかを選びます Collide(rFのみ) 衝突判定です、外すとフレームレートが改善される場合があります。 Render(rFのみ) 描画するか、しないかを決めることが出来ます。 見えない壁などにも有効です。 Shadow Receiver(rFのみ) 影が落ちるかどうかを決めることが出来ます Receive Lighting(rFのみ) ヘッドライトやライトなどの照明が反射するかを決めます BTB Ground チェックをオンにするとObjectが置けます。
https://w.atwiki.jp/netnet/pages/47.html
動的生成による、画像表示がけっこうめんどくさそう。 WPFで作成してても、Resourceに画像を入れると、Drawing形式になる。。。 ということで、Drawing.BitmapからBitmapSourceに変更する方法を探してみた。 public static BitmapSource ConvertToBitmapSource(System.Drawing.Bitmap gdiPlusBitmap) { IntPtr hBitmap = gdiPlusBitmap.GetHbitmap(); return Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); } Source http //forums.msdn.microsoft.com/en-US/wpf/thread/ea9a4e55-8905-4486-97fb-7981c2b75963/
https://w.atwiki.jp/atachi/pages/43.html
参考サイト http //www.codeproject.com/KB/WPF/WPFDropDownColorPicker.aspx